home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / VGAEX.ZIP / GRAPHIX.PAS < prev   
Pascal/Delphi Source File  |  1993-05-04  |  2KB  |  65 lines

  1. program graphix;
  2.  
  3. uses
  4.     crt;
  5.  
  6. var
  7.     color:byte;
  8.  
  9. {*******************************************************************}
  10.  
  11. procedure video_mode(mode:byte);
  12. begin
  13.       asm
  14.         mov  AH,00
  15.         mov  AL,mode
  16.         int  10h
  17.       end;
  18. end;
  19.  
  20. {*******************************************************************}
  21.  
  22. procedure set_color(color,red,green,blue:byte);
  23. begin
  24.     port[$3c8]:=color;
  25.     port[$3c9]:=red;
  26.     port[$3c9]:=green;
  27.     port[$3c9]:=blue;
  28. end;
  29.  
  30. {*******************************************************************}
  31.  
  32. procedure get_color(color,red,green,blue:byte);
  33. begin
  34.     port[$3c8]:=color;
  35.     red:=port[$3c9];
  36.     green:=port[$3c9];
  37.     blue:=port[$3c9];
  38. end;
  39.  
  40. {*******************************************************************}
  41.  
  42. procedure put_pixel(x,y:integer; color:byte);
  43. begin
  44.      mem[$A000:(320*y)+x]:=color;
  45. end;
  46.  
  47. {*******************************************************************}
  48.  
  49. procedure get_pixel(x,y:integer; color:byte);
  50. begin
  51.      color:=mem[$A000:(320*y)+x];
  52. end;
  53.  
  54. {*******************************************************************}
  55.  
  56. begin
  57.     video_mode($13);            {sets mode to 320x200x256}
  58.     set_color(50,63,63,63);     {sets color 50 to white}
  59.     put_pixel(100,100,50);      {puts a pixel at 100,100, color 50}
  60.     get_pixel(100,100,color);   {gets the value of color at 100,100}
  61.     repeat until keypressed;
  62.     video_mode(3);              {sets mode to standard 80x25 text}
  63.     writeln('The color # at 100,100 was: ',color);
  64.  
  65. end.